package com.healthsystem.portplay.dao;

import com.healthsystem.portplay.bean.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

//"@Repository" 是一个注解，它用于在 Spring 框架中标识一个类为数据访问对象（DAO）。
@Repository
//定义接口，在login层实现
public interface UserDao {

    // 更新用户状态
    void updateUserState(@Param("username") String username, @Param("state") boolean state);

    // 更新用户时间
    void updateUserTime(@Param("username") String username, @Param("StartTime") LocalDate StartTime,
                        @Param("EndTime") LocalDate EndTime);

    // 保存用户信息到数据库
    void save(User user);
    //    查询员工考勤
    List<Map<String, Object>> GetEmployeeInfo();


    //    将映射文件查询到的数据存储到一个list集合里面
    List<Map<String, Object>> GetUserInfo();

    //查询到数据库中的用户量和月份统计成一个集合，通过map函数存储，
    List<Map<String, Object>> GetUserCountByMonth();



    //    "@Param" 是一个注解，它通常用于在使用 MyBatis 进行数据库访问时，标识方法参数与 SQL 语句中的参数的映射关系
    User GetUserByMessage(@Param("username") String username, @Param("password") String password,@Param("role") String role);
//    查询分店的信息
    List<Map<String,Object>>GetFenDian();
}
